<?php
	class TableStruct{
		/*public $handle;
		
		
		* 获取文件句柄
		* @arg 	
			
		function setHandle($arg){
			
		}
		function getHandle(){
			
		}
		function getField(){
				
		}
		*/
		
	}
	
	
	class mySqlTableStruct extends TableStruct{
		public $handle;	//数据库控制的句柄
		public $struct = false;	//获取到数据库的字段数据
		// 独特的
		public $table;
		function __construct($arg = NULL){
			if(!is_null($arg)){
				$this->setHandle($arg);	
			}
		}
		/*
		* 设置数据库操作句柄
		* @arg 数值
		*  return $this;
		*/
		function setHandle($arg){
			if(is_array($arg)){
				extract($arg);	
			}	
			//连接数据库
			$this->handle = mysql_connect($host, $user, $password) or die("无法连接: " . mysql_error());
			mysql_select_db($db,$this->handle);
			
			$this->table = $table;
			
			return $this;		
		}
		/*
		* 获取数据库操作句柄
		* 如果句柄为空就返回错误
		* return $handle
		*/
		function getHandle(){
			if(empty($this->handle) || is_null($this->handle)){
				die("数据库操作句柄为空");	
			}
			return $this->handle;
		}	
		/*
		*  获取数据库字段内容
		*  把所有的数据都放入到$this->struct中
		*  return 获取到的$this->struct 
		*/	
		function getField(){
		  	$handle = $this->getHandle();
		  	$result = mysql_query("select * from {$this->table} limit 1",$handle)   or die("Query failed: " . mysql_error());
			
			$i = 0;
			while ($i < mysql_num_fields($result)) {
				$meta = mysql_fetch_field($result);
				$this->struct[$meta->name] = $meta;
				
				$i++;
			}
			mysql_free_result($result);
			
			return $this->struct;
		}
		function getTable(){
			return $this->table;	
		}	
	}
		

	
?>